The present invention relates to industrial controllers for controlling industrial processes and manufacturing equipment and in particular to a communication protocol allowing a low priority, low data rate transmission to be superimposed on time critical transfer of input/output data.
Industrial controllers are special purpose computers used for controlling industrial processes and manufacturing equipment on a real-time basis. Under the direction of a stored program, the industrial controller examines a set of inputs reflecting the status of the controlled process and changes a set of outputs controlling the industrial process. The inputs and outputs may be binary, that is on or off, or analog, providing a value within a continuous range. Typically analog signals are converted to binary words for processing. Industrial controllers differ from conventional computers in that their hardware configurations vary significantly from application to application reflecting their wide range of uses. This variability is accommodated by constructing the industrial controller on a modular basis having removable input and output (I/O) modules that may accommodate different numbers of input and output points depending on the process being controlled. The need to connect the I/O modules to different pieces of machinery that may be spatially separated has led to the development of a remote I/O rack holding a number of I/O modules at a remote location to communicate with a central processor of the industrial control via an adapter module, which in turn is connected with a high speed network linked to the central processor. The adapter exchanges information between the network and the I/O modules.
Industrial controllers further differ from conventional computers in that they must process a large amount of input and output data on a predictable real-time basis. This requires not only that the response time of the industrial controller be extremely fast, but also that the processing delay between a changing input and the response of a reacting output be consistent so that the controller operates predictably over time.
To satisfy these requirements of speed and consistency, many industrial controllers use xe2x80x9cscanxe2x80x9d based architecture in which each input and output are sequentially read and written over repeated scans of regular duration. This scan protocol may also be used in the communication between an adapter module and the I/O modules of a remote I/O rack. The regular scanning places a predictable upper bound on the time between successive reading and writing of inputs and outputs and, by enforcing a particular order of those readings and writings, eliminates certain xe2x80x9cracexe2x80x9d conditions in which the execution of the control program changes fundamentally because of a different-ordered reading of two inputs that change at nearly the same time.
In order to ensure the regular period of the scanning, the transfer of data is arranged into block of fixed size. The data blocks are desirably limited in size to the amount of data needed for a typical I/O module, taking into account the necessary I/O data and possible control data related to I/O module initialization and configuration. Typically the control data will be required only sporadically, but they are repeatedly transmitted to maintain the data block at a consistent size. When the I/O module receives a data block, the output data is transferred to the I/O module outputs and the control data written to the necessary registers. The I/O module prepares a second data block providing input values and control data to be sent to the controller.
The requirement of a fixed size data block for predictability in the scanning process greatly simplifies the communication protocol which may be handled by specialized integrated circuits. Nevertheless, the fixed size data block is an obstacle to advances in I/O module functionality which may require larger amounts of control data.
One possible solution is to increase the size of the fixed data block. Increasing the data block size, however, can adversely affect the scanning speed and is an inefficient way to accommodate control data that are only occasionally transmitted. Further changing the size of the data block renders obsolete all previous I/O modules incorporating interface electronics tailored for the previous block size resulting in increased hardware expense to users and possibly the need to redesign existing control programs.
What is needed is a way to accommodate increased control data without adversely affecting the transmission of real-time I/O data or modifying the size of the current data block.
The present invention provides a method of adding control data of arbitrary length to current transfers of I/O data current scanning systems using fixed data blocks without affecting the amount or speed of the I/O data transfer. It does so by using the portion of the data block currently reserved for control data to form a low data rate communication channel in which data may be communicated piecewise over the course of many data blocks. Data for the low data rate channel is prepared by buffering control data of arbitrary size and allocating sequential portions of it to each data block. The thus fragmented and transmitted data may be recollected at the receiver by a similar buffering process.
Specifically, the present invention provides an industrial control I/O system for use with I/O modules attachable to a backplane having connector slots receiving I/O modules and providing data conductors and slot address signals specific to a connector slot. The I/O modules transmit real-time electrical values to an industrial process as determined by an I/O data unit. An adapter connecting to the backplane and executes a stored program to receive an I/O data unit and a low priority data unit for transmission over the backplane to a given I/O module. The adapter forms a transmission data block of fixed length incorporating the entire I/O data unit and only a portion of the low priority data unit smaller than the I/O data unit. It sequentially enables the address lines to each connector slot at a predetermined scan rate and when the address line to a connector slot holding the given I/O module is enabled, it transmits the transmission data block to the given I/O module in the connector slot. These steps are repeated with new I/O data units and different portions of the low priority data unit until the complete low priority data unit has been incorporated into different data blocks transmitted to the given I/O module in the connector slot.
Thus, it is one object of the invention to allow low priority data of arbitrary size to be integrated into a fixed scan-based backplane without compromising the delivery of real-time I/O data.
The backplane conductors may provide for the serial or parallel transmission of a data word and the portion of a low priority data unit may be as little as one data word.
Thus it is another object of the invention to provide an low data rate communication channel having minimal impact of the transmission of I/O data so as to satisfy communication task in industrial processes that do not require high speed data transmission but that do need to be transmitted at some time or from time to time.
The adapter may further program to, when the address line to the connector slot holding the given I/O module is enabled, receive a data block of fixed length from the given I/O module including a reply I/O data unit and a portion of a reply low priority data unit smaller than the reply I/O data unit. The adapter may transmit the reply I/O data unit to a connected industrial controller and collect the portion of the reply low priority data unit in a buffer and repeat these steps of receiving additional data blocks until the entire low priority data unit is in the buffer upon which it may transmit the reply low priority data unit to the industrial controller.
Thus it is another object of the invention to provide for bi-directional communication of low priority data.
The adapter may be further programmed to receive identification information from the given I/O module indicating whether it can accept extended low priority data transmissions. Only when the I/O module can accept extended low priority data transmissions will the adapter send portions of the low priority data.
Thus it is another object of the invention to allow for the construction of an adapter in backplane unit that may accept either xe2x80x9clegacyxe2x80x9d I/O modules not having the capability of receiving extended low priority data transmissions together with I/O modules that can use this feature.
The foregoing and other objects and advantages of the invention will appear from the following description. In the description, reference is made to the accompanying drawings which form a part hereof, and in which there is shown by way of illustration a preferred embodiment of the invention. Such embodiment does not necessarily represent the full scope of the invention, however, and reference must be made to the claims herein for interpreting the scope of the invention.